﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Net;
using System.Net.Mail;
using ServicioComunitario2.EnlaceDatos.SqlServer;


namespace ServicioComunitario2.Logica.Clases
{
    public class Noticia
    {
        #region Atributos

        private int _numeroNoticia;
        private string _cuerpoNoticia;
        private string _autorNoticia;
        private string _fechaCorta;
        private DateTime _fechaNoticia;
        private int _idAutor;
        




        #endregion

        #region gets y sets

        public int NumeroNoticia
        {
            get { return _numeroNoticia; }
            set { _numeroNoticia = value; }
        }

        public string CuerpoNoticia
        {
            get { return _cuerpoNoticia; }
            set { _cuerpoNoticia = value; }
        }

        public string AutorNoticia
        {
            get { return _autorNoticia; }
            set { _autorNoticia = value; }
        }


        public string FechaCorta
        {
            get { return _fechaCorta; }
            set { _fechaCorta = value; }
        }

        public DateTime FechaNoticia
        {
            get { return _fechaNoticia; }
            set { _fechaNoticia = value; }
        }

        public int IdAutor
        {
            get { return _idAutor; }
            set { _idAutor = value; }
        }


        #endregion

        #region Constructor

        public Noticia() 
        { 
        }

        public Noticia (int numNot, DateTime fechaNot, string cuerpoNot, int idAutor)
        {
            

        }

        public Noticia(DateTime fechaNot, string cuerpoNot, int idAutor)
        {
            this._fechaNoticia = fechaNot;
            this._cuerpoNoticia = cuerpoNot;
            this.IdAutor = idAutor;

        }

        #endregion

        #region Metodos de manejo

        public bool AgregarNoticia(Noticia nuevaNoticia) 
        {
           SqlNoticia noticia = new SqlNoticia();

           return noticia.InsertarNoticia(nuevaNoticia);
            
        }

        public bool ModificarNoticia(int numNoticia, Noticia miNoticia)
        {
            SqlNoticia noticia = new SqlNoticia();

            return noticia.ModificarNoticia(numNoticia, miNoticia);

        }

        public Noticia ConsultarNoticia(int numNoticia)
        {
            SqlNoticia noticia = new SqlNoticia();

            return noticia.DetalleNoticia(numNoticia);

        }

        public List<Noticia> ListaNoticias() {

            SqlNoticia notiAux = new SqlNoticia();
            
            return (notiAux.ListarTodasNoticas());
        
        
        }

        public List<Noticia> ListaNoticias(int numAutor) 
        {
            SqlNoticia notiAux = new SqlNoticia();

            return (notiAux.ListarTodasNoticasModificar(numAutor));
        }


        #endregion
    }

}